A low-density parity-check (LDPC) code is a linear error correcting code with a sparse parity-check matrix and a block length that may attain performance near the Shannon limit. The LDPC code may be constructed using a sparse bipartite graph. In some implementations, the LDPC code may be decoded using an iterative algorithm, such as a message passing algorithm, that allows information to be passed between storage elements and check node elements associated with decoding the LDPC coded data.